<?php
/**
 * ������ѯ
 * 
*/
require_once("lib/alipay_submit.class.php");

class ZFBOrderQuery {
	
	/* return 
		1.TRADE_NOT_EXIST
		2.����
		
	   trade_status:
		TRADE_FINISHED                ���׳ɹ�����
		TRADE_SUCCESS                 ֧���ɹ�
		
		TRADE_CLOSED                  ������;�رգ��ѽ�����δ�ɹ���ɣ�
		TRADE_CANCEL                  ����֧������ȡ��
		TRADE_REFUSE                  ����֧�����׾ܾ�
		TRADE_REFUSE_DEALING          ����֧�����׾ܾ���
		
		WAIT_BUYER_PAY                �ȴ���Ҹ���
		WAIT_SELLER_SEND_GOODS        ����Ѹ���ȴ����ҷ���
		WAIT_BUYER_CONFIRM_GOODS      �����ѷ������ȴ����ȷ��
		WAIT_SYS_CONFIRM_PAY          ֧����ȷ��������л���У����𷢻�
		WAIT_SYS_PAY_SELLER           ���ȷ���ջ����ȴ�֧������������
		TRADE_PENDING                 �ȴ������տ�
		BUYER_PRE_AUTH                ����Ѹ������֧����
		COD_WAIT_SELLER_SEND_GOODS    �ȴ����ҷ������������
	*/
	function getOrderQuery($out_trade_no,$configs){
		//���������id����2088��ͷ��16λ������
		$alipay_config['partner']=$configs['partner']; //'2088911426319321';
		//��ȫ�����룬�����ֺ���ĸ��ɵ�32λ�ַ�
		$alipay_config['key']=$configs['key']; //'vz9h9788ctfk3hg0xb5i2xmch7iw4ba1';
		//ǩ����ʽ �����޸�
		$alipay_config['sign_type']= strtoupper('MD5');
		//�ַ������ʽ Ŀǰ֧�� gbk �� utf-8
		$alipay_config['input_charset']= strtolower('utf-8');
		//ca֤��·����ַ������curl��sslУ��
		//�뱣֤cacert.pem�ļ��ڵ�ǰ�ļ���Ŀ¼��
		$alipay_config['cacert']=getcwd()."/lib/AliPay/MD5/cacert.pem";
		//var_dump($alipay_config['cacert']);exit;
		//����ģʽ,�����Լ��ķ������Ƿ�֧��ssl���ʣ���֧����ѡ��https������֧����ѡ��http
		$alipay_config['transport']= 'http';
		if (empty($out_trade_no))
		{
			return null;
		}else{
			//����Ҫ����Ĳ������飬����Ķ�
			$parameter = array(
					"service" => "single_trade_query",
					"partner" => trim($alipay_config['partner']),
					"trade_no"	=> '',
					"out_trade_no"	=> $out_trade_no,
					"_input_charset"	=> trim(strtolower($alipay_config['input_charset']))
			);
			//��������
			$alipaySubmit = new AlipaySubmit($alipay_config);
			$html_text = $alipaySubmit->buildRequestHttp($parameter);
			$res = $this->xmlToArray($html_text);
			return $res;
		}
	}
	
	public function xml_to_json($source) {
		if(is_file($source)){ //�������ļ�������xml��string���ж�
			$xml_array=simplexml_load_file($source);
		}else{
			$xml_array=simplexml_load_string($source);
		}
		$json = json_encode($xml_array,JSON_UNESCAPED_UNICODE); //php5���Լ����ϣ�����Ǹ���汾����鿴JSON.php
		return $json;
	}
	
	/**
	 * 	��xmlתΪarray
	 */
	public function xmlToArray($xml)
	{		
        //��XMLתΪarray        
        $array_data = json_decode(json_encode(simplexml_load_string($xml, 'SimpleXMLElement', LIBXML_NOCDATA)), true);		
		return $array_data;
	}
	public function demo(){
		echo "111";
	}
}
	
?>
